package com.codelab.statemachine.task;

import com.baomidou.mybatisplus.extension.service.IService;
import com.codelab.statemachine.mybatis.dataobject.TaskDO;

import java.util.List;

public interface TaskService extends IService<TaskDO> {
    TaskDO getTaskById(String id);

    String insertTask(Task task,String pId);

    void insertBatchTask(List<TaskDO> tasks);

    void updateProcess(String taskid, double progress);

    void updateMessage(String taskid, String msg);

    void updateStatus(String taskid, String status);

    ProgressPOJO getChildTasksProgress(String taskid);

    List<TaskDO> getChildTasks(String pTaskid);

    ProgressPOJO getChildTasksProgress(List<TaskDO> childs);

    TaskDO getRootTaskById(String taskid);

    List<TaskDO> getAllTaskById(String taskid);

    List<TaskDO> listAllTask();
}
